package com.ruoyi.Shop_review.server.service.impl;

import java.util.List;

import com.ruoyi.Shop_review.server.domain.MgShopReview;
import com.ruoyi.Shop_review.server.service.mgShopReviewService;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.Shop_review.server.mapper.ShopReviewMapper;
import com.ruoyi.Shop_review.server.domain.ShopReview;
import com.ruoyi.Shop_review.server.service.IShopReviewService;

/**
 * 商品评价管理Service业务层处理
 *
 * @author ruoyi
 * @date 2025-05-22
 */
@Service
public class ShopReviewServiceImpl implements IShopReviewService {
    @Autowired
    private ShopReviewMapper shopReviewMapper;
    @Autowired
    private mgShopReviewService mgshopReviewService;

    /**
     * 查询商品评价管理
     *
     * @param id 商品评价管理主键
     * @return 商品评价管理
     */
    @Override
    public ShopReview selectShopReviewById(Long id) {
        ShopReview shopReview = shopReviewMapper.selectShopReviewById(id);
        MgShopReview byId = mgshopReviewService.getById(id.toString());
        shopReview.setContent(byId.getReview());
        return shopReview;
    }

    /**
     * 查询商品评价管理列表
     *
     * @param shopReview 商品评价管理
     * @return 商品评价管理
     */
    @Override
    public List<ShopReview> selectShopReviewList(ShopReview shopReview) {
        List<ShopReview> shopReviews = shopReviewMapper.selectShopReviewList(shopReview);
        for (ShopReview review : shopReviews) {
            Long id = review.getId();
            MgShopReview byId = mgshopReviewService.getById(id.toString());
            review.setContent(byId.getReview());
        }
        return shopReviews;
    }

    /**
     * 新增商品评价管理
     *
     * @param shopReview 商品评价管理
     * @return 结果
     */
    @Override
    public int insertShopReview(ShopReview shopReview) {
        shopReview.setCreateTime(DateUtils.getNowDate());
        int i = shopReviewMapper.insertShopReview(shopReview);
        if (i > 0) {
            String content = shopReview.getContent();
            Long id = shopReview.getId();
            MgShopReview mgShopReview = new MgShopReview();
            mgShopReview.setReview(content);
            mgShopReview.setId(id.toString());
            mgshopReviewService.insert(mgShopReview);
        }
        return i;
    }

    /**
     * 修改商品评价管理
     *
     * @param shopReview 商品评价管理
     * @return 结果
     */
    @Override
    public int updateShopReview(ShopReview shopReview) {
        shopReview.setUpdateTime(DateUtils.getNowDate());
        return shopReviewMapper.updateShopReview(shopReview);
    }

    /**
     * 批量删除商品评价管理
     *
     * @param ids 需要删除的商品评价管理主键
     * @return 结果
     */
    @Override
    public int deleteShopReviewByIds(Long[] ids) {
        return shopReviewMapper.deleteShopReviewByIds(ids);
    }

    /**
     * 删除商品评价管理信息
     *
     * @param id 商品评价管理主键
     * @return 结果
     */
    @Override
    public int deleteShopReviewById(Long id) {
        mgshopReviewService.delete(id.toString());
        return shopReviewMapper.deleteShopReviewById(id);
    }
}
